9
תגובות

ביצוע חלק מהדף ב$.post

פתח phpguide1 ,
אני משתמש ב$.post - jquery.
יש לי טופס שאם רושמים בו טקסט ולוחצים סובמיט אז הבקשת AJAX נשלחת עם הפרמטר של האינפוט לדף function.php, ואז אני משתמש בפרמט השלישי של $.post בשביל להדפיס את הנתונים למסך (מערכת תגובות פשוטה).

עכשיו יש לי הרבה שימושים של ajax באתר שלי, אז חשבתי במקום ליצור לכל דבר קובץ נפרד, פשוט לעשות את כל הPHP בקובץ אחד ולקרוא עם AJAX רק לחלק מהדף.
לדוגמא: יש לי 2 קודים PHP בדף function.php - הראשון:מערכת התחברות. והשני: שליחת תגובות.
וברגע שהוא מתחבר(בAJAX)אז רק החלק של הקוד PHP של התחברות יפעל זאת אומרת שאני יקבל לDATA רק את התוצאה של הקוד הזה ולא גם את הקוד של התגובות
איך לעשות את זה?
מקווה שהייתי מובן

9 תשובות

avatar ענה JBStyle ב 12 לאוגוסט 2012 #

תוכל לעשות פשוט מעין ROUTING כזה לבקשות AJAX דרך קובץ מסויים .
נגיד שיהיה לך קובץ ajaxActions.php ואתה מפנה אליו פשוט איזה פעולה אתה צריך לעשות והוא כבר יבצע וישלח לך חזרה את מה שביקשת .

avatar ענה phpguide1 ב 13 לאוגוסט 2012 #

לא הבנתי, תוכל לפרט טיפה יותר?

avatar ענה mat ב 14 לאוגוסט 2012 #

פשוט אתה עושה swich ל
$_GET['act']

ומחלק את הפעולות ב case

ואתה שולח איזה פקודה הוא מבצע למשל ajaxActions.php?act=login&pass=###&user

avatar ענה Ben ב 14 לאוגוסט 2012 #

פתח דף בשם page.php וכתוב בו:

<?php
switch($_GET['ajax_request']){
  case 'login':
    //login code
  break;
 
  case 'something':
    //something code
  break;
}
?>


ואז אתה מנווט את הטופס לכתובת: page.php?ajax_request=login.
וכל פעם שתרצה להוסיף עוד קוד למשהו, פשוט אתה מוסיף עוד case :).

avatar ענה phpguide1 ב 14 לאוגוסט 2012 #

סבבה הבנתי.
תודה רבה

avatar ענה shlomo120 ב 14 לאוגוסט 2012 #

אני אישית היתי מוסיף ברירת מחדל של הדר עם שגיאה 404 . שונא שגולשים נכנסים לאן שהם לא צריכים ...

avatar ענה phpguide1 ב 14 לאוגוסט 2012 #

לא הבנתי לאן יכנס הגולש, שהוא יקבל 404?

avatar ענה Ben ב 14 לאוגוסט 2012 #

אני חושב שהוא מתכוון להוסיף default ב switch, שאם הcaseים לא מתקיימים,זה יעביר לדף 404.
אבל המשתמש לא יכול לשלוט בניווט, זה רק מה שכתוב בקוד, למשתמש לא מופיע ה GET בשורת כתובות למעלה. זה מיותר לדעתי.

avatar ענה phpguide1 ב 14 לאוגוסט 2012 #

לכן לא הבנתי מה שהוא אמר..
אבל עכשיו נראה לי שהבנתי:
אולי הוא התכוון שלעשות לתיקייה שמכילה את הסקריפטים PHP - לחסום את הגישה מהGET, כך שאם גולש יכתוב בכתובת האתר:
www.site.com/functionAjax.php
אז שהוא לא יראה את התוכן - אלא הוא יועבר ל 404.
אולי זה הייתה הכוונה של שלמה120 ...